package com.jungle.app.domain.entity;

import com.jungle.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = false)
@Entity
@Table(name = "jw_spot_activity")
@org.hibernate.annotations.Table(appliesTo = "jw_spot_activity", comment = "景点活动表")
@Where(clause = "deleted is null or deleted != true")
@SQLDelete(sql = "update jw_spot_activity set deleted = true where id = ? ")
public class JwSpotActivity extends BaseEntity {

    @Comment("活动ID")
    @Column(name = "ActivityID")
    private String activityID;

    @Comment("景点ID")
    @Column(name = "ScenicSpotID")
    private String scenicSpotID;

    @Comment("活动名称")
    @Column(name = "Name")
    private String name;

    @Comment("活动类型")
    @Column(name = "Type")
    private String type;

    @Comment("活动简介")
    @Column(name = "Introduction")
    private String introduction;

    @Comment("活动详情")
    @Column(name = "Details")
    private String details;

    @Comment("活动开始时间")
    @Column(name = "StartTime")
    private LocalDateTime startTime;

    @Comment("活动结束时间")
    @Column(name = "EndTime")
    private LocalDateTime endTime;

    @Comment("活动状态")
    @Column(name = "Status")
    private String status;

    @Comment("活动海报")
    @Column(name = "Poster")
    private String poster;

    @Comment("活动票价")
    @Column(name = "Price")
    private BigDecimal price;

    @Comment("活动主办方")
    @Column(name = "Organizer")
    private String organizer;

}
